package 第二章_JavaSE基础.一_Java面向对象.如何理解clone对象;

import org.junit.Test;

public class 为什么要用clone{

    //浅拷贝
    //这是复制,a和a1地址相同
    @Test
    public void B(){//和A相同的B，只需改动B，不影响A,A和B独立
        A a = new A();//先new
        A a1 = a;//再用
        System.out.println(a);
        System.out.println(a1);
    }

    //深拷贝
    //这是克隆，a和a1地址不同
    public static void main(String[] args) {
        A a = new A();
        //a.clone();
        A a1 = null;
        try{
            a1 = (A)a.clone();
        }   catch (CloneNotSupportedException e){
            e.printStackTrace();
        }
        System.out.println(a);
        System.out.println(a1);
    }
}
